const app = getApp();
const db = wx.cloud.database().collection("crew");
const db2 = wx.cloud.database().collection("user");
Page({
  data: {
    value: '',
    crewList: [] ,
    enable: false,
    actionText: '',
    searchResult: [], 
    loadingProps: {
      size: '50rpx',
    },
  },
  onLoad: function() {
    this.getCrewData(); 
  },
  goToSearch: function() {
    wx.navigateTo({
      url: '/pages/search/search' 
    });
  },
  handleClick(e) {
    console.log('User openid:', app.globalData.user_openid);
    
    if (app.globalData.user_openid === '') {
      wx.switchTab({
        url: '/pages/my/my'
      });
      return;
    }
    
    // Query the user collection for the authen field
    db2.where({
      _openid: app.globalData.user_openid,
    }).get().then(res => {  
      if (res.data.length === 0) {
        console.error('No user found with the provided openid');
        wx.showToast({
          title: '获取用户信息失败',
          icon: 'none'
        });
        return;
      }
      
      const authen = res.data[0].authen;
      console.log('User authen field:', authen);
      
      if (authen === 2) {
         
  wx.navigateTo({
    url: '/pages/film-JJRY-up/film-JJRY-up?type=' + this.data.type
  });
      } else {
        wx.switchTab({
          url: '/pages/my/my'
        });
        wx.showToast({
          title: '请完成身份认证',
          icon: 'error'
        });
      }
    }).catch(err => {
      console.error('Failed to get user authen:', err);
      wx.showToast({
        title: '获取用户信息失败',
        icon: 'none'
      });
    });
  },
  
 
  onLoad: function(options) {
    if (options.text) {
      this.setData({
        type: options.text
      });
      // 在设置 type 后立即调用 getCrewData
      this.getCrewData();
    }
  }
  ,
  // 获取演员信息的函数
getCrewData: function() {
  // 从 Cloud 数据库中获取符合特定分类的 crew 表中的数据
  console.log("1")
  db.where({
    classify: this.data.type // 只检索符合特定分类的数据
  }).get().then(res => {
    console.log(res.data); // 确保获取到数据
    this.setData({
      crewList: res.data // 将获取的数据设置到页面的数据属性中
    });
  }).catch(err => {
    console.error(err);
  });
},
ready() {
  this.setData({ enable: true });
  setTimeout(() => {
    this.setData({ enable: false });
  }, 1000);
},
onRefresh() {
  this.setData({ enable: true });
  this.getCrewData();
  setTimeout(() => {
    this.setData({ enable: false });
  }, 1500); 
}
,
onScroll(e) {
  const { scrollTop } = e.detail;
  this.setData({ scrollTop });
},

viewDetail(e) {
  const index = e.currentTarget.dataset.index; // 获取点击的<c-filmcard>的索引
  const selectedItem = this.data.crewList[index]; // 获取对应索引的设备信息
  
  // 检查selectedItem是否为undefined或null
  if (!selectedItem) {
    console.error("Selected item is undefined or null");
    return;
  }
  
  console.log(selectedItem._id)
  // 跳转到详细信息页面，并传递选定的设备信息
  wx.navigateTo({
    url: '/pages/film-JJRY-detail/film-JJRY-detail?id=' + selectedItem._id
  });
},
// 执行搜索
search() {
  this.setData({
    actionText: '',
  });
  this.hideSearchResult()
  const keyword = this.data.value.trim(); // 获取用户输入的内容并去除两端空格
  console.log(keyword)
  if (!keyword) {
    wx.showToast({
      title: '请输入搜索内容',
      icon: 'none'
    });
    return;
  }

  // 执行模糊查询
  db.where({
    // title: db.RegExp({
    //   regexp: keyword, // 正则表达式，用于模糊查询
    //   options: 'i' // 'i' 表示忽略大小写
    // })
    // title:keyword
    name:this.data.value,
    classify: this.data.type

  }).get().then(res => {
    if (res.data.length === 0) {
      // Display message for no results found
      wx.showToast({
        title: '查询不到结果',
        icon: 'error'
      });
    } else {
    this.setData({
      searchResult: res.data // 更新查询结果
    });
  }
  }).catch(err => {
    console.error('查询失败', err);
    wx.showToast({
      title: '查询失败，请重试',
      icon: 'none'
    });
  });
},


  focusHandle() {
    this.setData({
      actionText: '搜索',
    });
  },

  blurHandle() {
    this.setData({
      actionText: '',
    });
  },

  actionHandle() {
    this.search()
    
  },
  hideSearchResult() {
    this.setData({
      searchResult: [] 
    });
  }

});